package Test1;

import java.util.Arrays;

/**
 * @Date 2020/03/25
 * @author 王光浩
 * @Thinking 统计字符串中出现最多频次的字符，判断其数目是否大于数组长度的一般。（有问题）
 */
public class QuestionTwo {
	public String reorganizeString(String S) {
		int[] save=new int[26];
		for(int i=0;i<S.length();i++)
			save[S.charAt(i)-'a']++;
		StringBuilder ret=new StringBuilder();
		while(true) {
			int max=0;
			for(int i=0;i<26;i++) {
				max=(save[max]>save[i]?max:i);
			}
			if(save[max]<=0)return ret.toString();
			int min=max;
			for(int i=0;i<26;i++) {
				if(save[i]>0)min=(save[min]<save[i]?min:i);
			}	
			if(max==min && save[max]>2)return "";
			while(save[max]>0 && save[min]>0) {
				ret.append((char)(max+97));
				save[max]--;
				if(save[min]>0) {
					ret.append((char)(min+97));
					save[min]--;
				}
			}
		}
    }
}
